package com.ip.user.mapper;

import com.ip.user.models.vo.SysLoginLogVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 登录日志Mapper接口
 */
@Mapper
public interface SysLoginLogMapper {
    
    /**
     * 查询所有登录日志
     * @return 登录日志列表
     */
    List<SysLoginLogVO> selectAllLogs();
    
    /**
     * 根据多个条件组合查询登录日志
     * @param startTime 开始时间（可选）
     * @param endTime 结束时间（可选）
     * @param loginStatus 登录状态（1=成功，0=失败，null表示不限制）
     * @param userName 用户名（可选）
     * @return 登录日志列表
     */
    List<SysLoginLogVO> selectLogsByConditions(@Param("startTime") LocalDateTime startTime,
                                               @Param("endTime") LocalDateTime endTime,
                                               @Param("loginStatus") Integer loginStatus,
                                               @Param("userName") String userName);
}